
package com.insigma.business.qrcode.soldier.service;




import com.insigma.business.qrcode.soldier.dto.SoldierMessageInfoBSearcher;
import com.insigma.business.qrcode.soldier.entity.DataStatsCDO;
import com.insigma.business.qrcode.soldier.entity.SoldierMessageInfoDO;

import java.util.List;


public interface SoldierMessageInfoService {

   
    List<SoldierMessageInfoDO> search(final SoldierMessageInfoBSearcher innerSearcher);

    
    SoldierMessageInfoDO get(final String id);

    
    Integer insert(final SoldierMessageInfoDO soldierMessageInfo);

    
    Integer update(final SoldierMessageInfoDO soldierMessageInfo);

    
    Integer delete(final String id, final String modifierType, final String modifierId);

 List<SoldierMessageInfoDO> listRemindAndUnreadMessageInfo(String soldierId);

    List<SoldierMessageInfoDO> listRemindAndUnreadMessageInfoByIdCardNo(String idCardNo);

 List<SoldierMessageInfoDO> listAllCrowdAndValid();

    List<SoldierMessageInfoDO> searchMyMessage(SoldierMessageInfoBSearcher soldierMessageInfoBSearcher);
    List<SoldierMessageInfoDO> searchBusPushed(String idCard, String idCardNo);

    int countUnreadOfIdCardNo(String cachedIdCardNo);

    List<SoldierMessageInfoDO> searchMessageOfCrowd(SoldierMessageInfoBSearcher soldierMessageInfoBSearcher);

    int countByType(String type, String month);

    List<SoldierMessageInfoDO> listByBizType(String bizType);

    Integer countByTypeByAreaCode(String bizType, String adminAreaCode);

    List<DataStatsCDO> groupByArea(String bizType, String adminAreaCode);
}
